package org.dxy.domain.command.product;

import lombok.Builder;
import org.dxy.domain.command.Command;
import org.dxy.domain.model.valobj.Bom;

/**
 * @description: 更新产品命令 - 只包含核心业务字段
 * @author: dxy
 * @createTime: 2025/8/17
 */
@Builder
public record UpdateProductCommand(
        /**
         * 产品ID
         */
        Long productId,
        
        /**
         * 产品名称 - 工单/工艺单需要
         */
        String productName,

        /**
         * 产品类型 - 影响BOM、工单逻辑
         */
        String type,

        /**
         * 产品版本 - 工艺版本，变更要可追溯
         */
        String version,

        /**
         * 计量单位 - 影响库存和计算
         */
        String unit,

        /**
         * BOM清单 - 影响生产展开
         */
        Bom bom
) implements Command {
}